package com.peanut.aop;

import org.springframework.aop.AfterReturningAdvice;
import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;

/**
 * @author chenhs
 * @date 2021/4/17
 *
 * MethodBeforeAdvice 一个类继承MethodBeforeAdvice 并实现 before 就实现了前置增强。
 */
public class Log implements MethodBeforeAdvice, AfterReturningAdvice {
	/*
	* method 被增强的方法，
	* objects 参数
	* o 目标对象
	*
	/
	 */
	public void before(Method method, Object[] objects, Object o) throws Throwable {
		System.out.println(o.getClass().getName()+"的"+method.getName()+"被执行。");
		
	}
	/*
	* returnValue 执行后的返回值，
	* method 执行的方法
	* objects 参数
	* target 被代理对象
	* */
	public void afterReturning(Object returnValue, Method method, Object[] objects, Object target) throws Throwable {
		System.out.println(target.getClass().getName()+"已经执行完了"+"返回:"+returnValue);
		
		
	}
}
